//node的全局对象是global

// global 最根本的作用是作为全局变量的宿主。按照 ECMAScript 的定义，满足以下条 件的变量是全局变量：
//
// 在最外层定义的变量；
// 全局对象的属性；
// 隐式定义的变量（未定义直接赋值的变量）。
// 当你定义一个全局变量时，这个变量同时也会成为全局对象的属性，反之亦然。
// 需要注意的是，在 Node.js 中你不可能在最外层定义变量，因为所有用户代码都是属于当前模块的， 而模块本身不是最外层上下文。
// 像平时一样使用var声明变量时，不会挂在到模块对象中

var heh = 'wangba'

console.log(this.hehe);
console.log(global);

// 输出全局变量 __filename 的值
// __filename 表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径，且和命令行参数所指定的文件名不一定相同。 如果在模块中，返回的值是模块文件的路径。
console.log(__filename);//两个下划线
// __dirname 表示当前执行脚本所在的目录。
console.log(global.__dirname);//global.的方式访问不到

global.setTimeout(function () {//这个又可以
    console.log('settimeout');
}, 1000)
let count = 60;

console.info("程序开始执行：");
console.time("开始");
let interval = setInterval(function () {
    count--;
    if (count === -1) {
        clearInterval(interval)
        console.timeEnd('结束');
    }
})



